﻿#pragma once

//----------------------------------------------------------------------------------
//
//----------------------------------------------------------------------------------
#include "../../Common/Resource/ace.RenderState_Imp.h"
#include "../ace.Graphics_Imp_GL.h"

//#define __USE_SAMPLERS	1

//----------------------------------------------------------------------------------
//
//----------------------------------------------------------------------------------
namespace ace {
	//----------------------------------------------------------------------------------
	//
	//----------------------------------------------------------------------------------
	class RenderState_Imp_GL
		: public RenderState_Imp
	{
	private:
		Graphics_Imp_GL* m_graphics;

#ifdef	__USE_SAMPLERS
		GLuint					m_samplers[4];
#endif
	public:
		RenderState_Imp_GL(Graphics_Imp_GL* graphics);
		virtual ~RenderState_Imp_GL();

		void Update(bool forced);
	};

	//----------------------------------------------------------------------------------
	//
	//----------------------------------------------------------------------------------
}